Screen tearing is a visual artifact in video display where a display device shows information from multiple frames in a single screen draw.
The artifact occurs when the video feed to the device is not synchronized with the display's refresh rate. That can be caused by non-matching , and the tear line then moves as the phase difference changes (with speed proportional to the difference of frame rates). It can also occur simply from a lack of synchronization between two equal frame rates, and the tear line is then at a fixed location that corresponds to the phase difference. During video motion, screen tearing creates a torn look as the edges of objects (such as a wall or a tree) fail to line up.
Tearing can occur with most common display technologies and video cards and is most noticeable in horizontally-moving visuals, such as in slow camera pans in a movie or classic side-scrolling video games.
Screen tearing is less noticeable when more than two frames finish rendering during the same refresh interval since that means the screen has several narrower tears, instead of a single wider one.
Most systems use multiple buffering and some means of synchronization of display and video memory refresh cycles.
During the vertical blanking interval, the driver orders the video card to either rapidly copy the off-screen graphics area into the active display area (double buffering), or treat both memory areas as displayable, and simply switch back and forth between them (page flipping).
Nvidia and AMD video adapters provide an 'Adaptive Vsync' option, which will turn on vertical synchronization only when the frame rate of the software exceeds the display's refresh rate, disabling it otherwise. That eliminates the stutter that occurs as the rendering engine frame rate drops below the display's refresh rate.
Alternatively, technologies like FreeSync FreeSync amd.com and G-Sync reverse the concept and adapt the display's refresh rate to the content coming from the computer. Such technologies require specific support from both the video adapter and the display.
Alternatively, the software can instead stay just ahead of the active refresh point. Depending on how far ahead one chooses to stay, that method may demand code that copies or renders the display at a fixed, constant speed. Too much latency causes the monitor to overtake the software on occasion, leading to rendering artifacts, tearing, etc.
Demo software on classic systems such as the Commodore 64 and ZX Spectrum frequently exploited those techniques because of the predictable nature of their respective video systems to achieve effects that might otherwise be impossible.
|
|